package com.lvt.design.pattern.module.ratelimiter.v2.alg;

import com.lvt.design.pattern.module.ratelimiter.v2.exception.InternalErrorException;

/**
 * desc：这个类是限流算法实现类。它实现了最简单的固定时间窗口限流算法。
 * 每个接口都要在内存中对应一个 RateLimitAlg 对象，记录在当前时间窗口内已经被访问的次数。
 *
 * @author LT
 * @date 2022/12/6
 */
public interface RateLimitAlg {
    boolean tryAcquire() throws InternalErrorException;
}